Merged
Conversation
Owner
|
@delphaber hi, thanks for the PR! Sure, it's useful. But maybe you could include this reseting logic in |
Contributor
Author
|
I see. So, instead of having an explicit method to close the connection and nilify @_connection, we do it implicitly in def self.database_url=(value)
@_connection&.close
@_connection = nil
@@database_url = value
endHave I understood it correctly? |
Allows ruby-pg-extras to work with applications using multiple databases (e.g. Rails sharding) by closing and clearing the existing connection when database_url= is called.
f761d20 to
a17d339
Compare
Contributor
Author
|
Tests are passing locally But need approval to run on CI I hope this helps! |
Owner
|
thanks! It's released as |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hello! Thanks for this gem :)
I'm wondering if you are interested into merging something like this. If so, I will try to add a test too.
Why do I think this method is useful?
Because I have a Rails application that uses multiple databases and I'm writing a rake task that wraps ruby-pg-extras and run the
bloatcommand for each of our databases (5 databases at the moment).Since the connection object is memoized, I'm not able to reset it after
RubyPgExtras.database_url=as been called the first time. So, by being able to reset the connection, I'm able to callRubyPgExtras.database_url=multiple times, one for each databaseWhat do you think? Is it something that you might consider?